home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / PWAEF21.ZIP / EFLAG.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-02-19  |  10KB  |  814 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     String   STRING001
  25.     String   TSTRING002(1)
  26.     String   TSTRING003(1)
  27.     String   TSTRING004(1)
  28.     String   TSTRING005(1)
  29.     String   STRING006
  30.     String   TSTRING007(1)
  31.     String   TSTRING008(1)
  32.     String   TSTRING009(1)
  33.     String   TSTRING010(1)
  34.     String   STRING011
  35.     String   TSTRING012(1)
  36.     String   STRING013
  37.     String   STRING014
  38.     String   STRING016
  39.     String   STRING019
  40.     String   STRING020
  41.     String   STRING021
  42.     String   STRING022
  43.     String   STRING023
  44.     String   STRING024
  45.     String   STRING029
  46.     Int      TINT001(1)
  47.     Int      INT002
  48.     Int      INT003
  49.     Int      TINT004(1)
  50.     Int      INT005
  51.     Int      INT006
  52.     Int      INT007
  53.     Int      INT008
  54.     Int      INT009
  55.     Int      INT010
  56.     Int      INT011
  57.     Int      INT012
  58.     Int      INT013
  59.     Int      INT014
  60.     Int      INT015
  61.     Int      INT016
  62.     Int      INT017
  63.     Int      INT021
  64.     Int      INT027
  65.     Int      INT028
  66.     Declare  Function FUNCTION001() String
  67.     Declare  Function FUNCTION002() String
  68.     Declare  Procedure PROC001()
  69.     Declare  Procedure PROC002()
  70.     Declare  Procedure PROC003()
  71.     Declare  Procedure PROC004()
  72.     Declare  Procedure PROC005()
  73.     Declare  Procedure PROC006(Int INT024, Int INT025, Int INT026)
  74.     Declare  Procedure PROC007()
  75.     Declare  Procedure PROC008(String STRING015)
  76.     Declare  Procedure PROC009()
  77.     Declare  Procedure PROC010(Int INT022, Int INT023, String STRING018)
  78.     Declare  Procedure PROC011(Int INT018, Var Int INT019, Var Int INT020, Var Boolean BOOLEAN006, String STRING017)
  79.     Declare  Procedure PROC012()
  80.     Declare  Procedure PROC013()
  81.  
  82. ;------------------------------------------------------------------------------
  83.  
  84.     If (!0) Brag ; PPLC BUG!
  85.     PROC001()
  86.     PROC004()
  87.     PROC005()
  88.     End
  89.  
  90. ;------------------------------------------------------------------------------
  91.  
  92.     Procedure PROC005()
  93.  
  94.     Int      INT012
  95.     Int      INT013
  96.     Int      INT014
  97.     String   STRING014
  98.     Boolean  BOOLEAN004
  99.  
  100.     PROC002()
  101.     STRING014 = ""
  102.     INT012 = 1
  103.     INT013 = 1
  104.     PROC006(1, INT012, INT013)
  105.     BOOLEAN004 = 0
  106.     :LABEL001
  107.     If (BOOLEAN004) Goto LABEL005
  108.     Delay INT008
  109.     INT014 = Asc(Inkey())
  110.     Select Case (INT014)
  111.         Case 82, 54, 62, 93
  112.             INT013 = INT012
  113.             Inc INT012
  114.             If (INT012 > INT003) INT012 = 1
  115.             PROC006(1, INT012, INT013)
  116.         Case 76, 52, 9, 60, 91
  117.             INT013 = INT012
  118.             Dec INT012
  119.             If (INT012 < 1) INT012 = INT003
  120.             PROC006(1, INT012, INT013)
  121.         Case 85, 56
  122.             INT010 = GetY()
  123.             INT011 = INT010
  124.             STRING014 = FUNCTION001()
  125.             If (STRING014 <> "") Then
  126.                 PROC008(STRING014)
  127.                 If (!BOOLEAN003 && !BOOLEAN004) Then
  128.                     Print Chr(27) + "[u"
  129.                     ClrEol
  130.                     Goto LABEL002
  131.                 Endif
  132.                 BOOLEAN003 = 0
  133.                 :LABEL002
  134.                 PROC002()
  135.             Endif
  136.             STRING014 = ""
  137.             INT012 = 1
  138.             INT013 = 1
  139.             PROC006(1, INT012, INT013)
  140.         Case 68, 50, 32
  141.             If ((INT014 == 32) && (BOOLEAN002 == 0)) Goto LABEL004
  142.             INT010 = GetY()
  143.             INT011 = 0
  144.             STRING014 = FUNCTION002()
  145.             If (STRING014 <> "") Then
  146.                 PROC008(STRING014)
  147.                 If (!BOOLEAN003 && !BOOLEAN004) Then
  148.                     Print Chr(27) + "[u"
  149.                     ClrEol
  150.                     Goto LABEL003
  151.                 Endif
  152.                 BOOLEAN003 = 0
  153.                 :LABEL003
  154.                 PROC002()
  155.             Endif
  156.             STRING014 = ""
  157.             INT012 = 1
  158.             INT013 = 1
  159.             PROC006(1, INT012, INT013)
  160.             :LABEL004
  161.         Case 33
  162.             PROC012()
  163.         Case 63
  164.             If (!BOOLEAN003 && !BOOLEAN004) Then
  165.                 PROC013()
  166.             Else
  167.                 BOOLEAN003 = 0
  168.             Endif
  169.         Case 13
  170.             PROC010(1, INT012, STRING014)
  171.             BOOLEAN004 = 1
  172.         Case 27
  173.             If (BOOLEAN001) Then
  174.                 Print Chr(27) + "[u"
  175.                 ClrEol
  176.                 KbdStuff "N"
  177.                 BOOLEAN004 = 1
  178.             Endif
  179.             PROC011(1, INT012, INT013, BOOLEAN004, Chr(INT014))
  180.         Case tñ⌠
  181.             PROC006(1, INT012, INT013)
  182.             If (BOOLEAN001) PROC010(1, INT012, STRING014)
  183.             BOOLEAN004 = BOOLEAN001
  184.     End Select
  185.     Goto LABEL001
  186.     :LABEL005
  187.  
  188.     EndProc
  189.  
  190.  
  191. ;------------------------------------------------------------------------------
  192.  
  193.     Procedure PROC008(String STRING015)
  194.  
  195.     Int      INT015
  196.     Int      INT016
  197.     Int      INT017
  198.     String   STRING016
  199.     Boolean  BOOLEAN005
  200.  
  201.     INT015 = 1
  202.     INT016 = 1
  203.     PROC003()
  204.     PROC006(2, INT015, INT016)
  205.     BOOLEAN005 = 0
  206.     :LABEL006
  207.     If (BOOLEAN005) Goto LABEL008
  208.     Delay INT008
  209.     STRING016 = Inkey()
  210.     INT017 = Asc(STRING016)
  211.     Select Case (INT017)
  212.         Case 85, 56
  213.             PROC009()
  214.             STRING015 = FUNCTION001()
  215.             If (STRING015 == "") Then
  216.                 BOOLEAN005 = 1
  217.             Endif
  218.         Case 68, 50, 32
  219.             If ((INT017 == 32) && (BOOLEAN002 == 0)) Goto LABEL007
  220.             PROC009()
  221.             STRING015 = FUNCTION002()
  222.             If (STRING015 == "") Then
  223.                 BOOLEAN005 = 1
  224.             Endif
  225.             :LABEL007
  226.         Case 82, 54
  227.             INT016 = INT015
  228.             Inc INT015
  229.             If (INT015 > INT006) INT015 = 1
  230.             PROC006(2, INT015, INT016)
  231.         Case 76, 52
  232.             INT016 = INT015
  233.             Dec INT015
  234.             If (INT015 < 1) INT015 = INT006
  235.             PROC006(2, INT015, INT016)
  236.         Case 72
  237.             INT016 = INT015
  238.             INT015 = 1
  239.             PROC006(2, INT015, INT016)
  240.         Case 69
  241.             INT016 = INT015
  242.             INT015 = INT006
  243.             PROC006(2, INT015, INT016)
  244.         Case 27
  245.             If (BOOLEAN001) Then
  246.                 BOOLEAN005 = BOOLEAN001
  247.                 PROC009()
  248.                 Print Chr(27) + "[u"
  249.                 ClrEol
  250.             Endif
  251.         Case 33
  252.             PROC012()
  253.         Case 63
  254.             If (!BOOLEAN003 && !BOOLEAN005) Then
  255.                 PROC013()
  256.             Else
  257.                 BOOLEAN003 = 0
  258.             Endif
  259.         Case 13
  260.             PROC010(2, INT015, STRING015)
  261.             BOOLEAN005 = 1
  262.             PROC011(2, INT015, INT016, BOOLEAN005, STRING016)
  263.         Case tñ⌠
  264.             PROC006(2, INT015, INT016)
  265.             If (BOOLEAN001) PROC010(2, INT015, STRING015)
  266.             BOOLEAN005 = BOOLEAN001
  267.     End Select
  268.     Goto LABEL006
  269.     :LABEL008
  270.  
  271.     EndProc
  272.  
  273.  
  274. ;------------------------------------------------------------------------------
  275.  
  276.     Procedure PROC011(Int INT018, Var Int INT019, Var Int INT020, Var Boolean BOOLEAN006, String STRING017)
  277.  
  278.     Int      INT021
  279.  
  280.     INT021 = 1
  281.     Select Case (INT018)
  282.         Case 1
  283.             :LABEL009
  284.             If (BOOLEAN006) Goto LABEL010
  285.             If (Lower(STRING017) == Lower(TSTRING004(INT021))) Then
  286.                 INT020 = INT019
  287.                 INT019 = INT021
  288.                 BOOLEAN006 = 1
  289.             Else
  290.                 Inc INT021
  291.                 If (INT021 > INT003) Goto LABEL010
  292.             Endif
  293.             Goto LABEL009
  294.             :LABEL010
  295.         Case 2
  296.             :LABEL011
  297.             If (BOOLEAN006) Goto LABEL013
  298.             If ((Asc(STRING017) == 27) && (TSTRING010(INT021) == "quit")) Then
  299.                 INT020 = INT019
  300.                 INT019 = INT021
  301.                 BOOLEAN006 = 1
  302.                 Goto LABEL012
  303.             Endif
  304.             If (Lower(STRING017) == Lower(TSTRING009(INT021))) Then
  305.                 BOOLEAN006 = 1
  306.                 INT020 = INT019
  307.                 INT019 = INT021
  308.                 Goto LABEL012
  309.             Endif
  310.             Inc INT021
  311.             If (INT021 > INT006) Goto LABEL013
  312.             :LABEL012
  313.             Goto LABEL011
  314.     End Select
  315.     :LABEL013
  316.  
  317.     EndProc
  318.  
  319.  
  320. ;------------------------------------------------------------------------------
  321.  
  322.     Procedure PROC010(Int INT022, Int INT023, String STRING018)
  323.  
  324.     String   STRING019
  325.  
  326.     Select Case (INT022)
  327.         Case 1
  328.             STRING019 = Lower(TSTRING005(INT023))
  329.             Print Chr(13)
  330.             ClrEol
  331.             Print Chr(13)
  332.             Select Case (STRING019)
  333.                 Case "cont"
  334.                     KbdStuff Chr(13)
  335.                 Case "flag"
  336.                     If (STRING018 <> "") Then
  337.                         KbdStuff "FL " + STRING018
  338.                     Else
  339.                         KbdStuff "FL"
  340.                     Endif
  341.                 Case "view"
  342.                     If (STRING018 <> "") Then
  343.                         KbdStuff "V " + STRING018
  344.                     Else
  345.                         KbdStuff "V"
  346.                     Endif
  347.                     SaveScrn
  348.                 Case "nstop"
  349.                     KbdStuff "NS"
  350.                 Case "stop"
  351.                     KbdStuff "N"
  352.                 Case Else
  353.                     SaveScrn
  354.                     DispStr STRING019
  355.                     BOOLEAN003 = 1
  356.             End Select
  357.         Case 2
  358.             STRING019 = Lower(TSTRING010(INT023))
  359.             If (STRING019 == "flag") Then
  360.                 PROC009()
  361.                 Print Chr(27) + "[u"
  362.                 ClrEol
  363.                 KbdStuff "FL " + STRING018
  364.                 End
  365.                 Goto LABEL014
  366.             Endif
  367.             If (STRING019 == "view") Then
  368.                 PROC009()
  369.                 Print Chr(27) + "[u"
  370.                 ClrEol
  371.                 KbdStuff "V " + STRING018
  372.                 SaveScrn
  373.                 End
  374.                 Goto LABEL014
  375.             Endif
  376.             If (STRING019 == "quit") Then
  377.                 PROC009()
  378.                 Print Chr(27) + "[u"
  379.                 ClrEol
  380.                 Goto LABEL014
  381.             Endif
  382.             PROC009()
  383.             Print Chr(27) + "[u"
  384.             ClrEol
  385.             SaveScrn
  386.             DispStr STRING019 + " " + STRING018
  387.             Print Chr(27) + "[u" + Chr(27) + "[" + String(U_PageLen - 1) + "A"
  388.             RestScrn
  389.             BOOLEAN003 = 1
  390.             StartDisp 0
  391.             StartDisp 2
  392.     End Select
  393.     :LABEL014
  394.  
  395.     EndProc
  396.  
  397.  
  398. ;------------------------------------------------------------------------------
  399.  
  400.     Procedure PROC009()
  401.  
  402.     Print Chr(27) + "[u" + Chr(27) + "[" + String(INT010 - INT009) + "A"
  403.     Print STRING013 + Chr(13)
  404.  
  405.     EndProc
  406.  
  407.  
  408. ;------------------------------------------------------------------------------
  409.  
  410.     Function FUNCTION001() String
  411.  
  412.     String   STRING021
  413.     String   STRING022
  414.  
  415.     STRING021 = ""
  416.     While (INT011 > 0) Do
  417.         Dec INT011
  418.         If (TSTRING012(INT011) <> "") Then
  419.             PROC007()
  420.             STRING021 = TSTRING012(INT011)
  421.             Break
  422.         Endif
  423.     EndWhile
  424.     FUNCTION001 = STRING021
  425.  
  426.     EndFunc
  427.  
  428.  
  429. ;------------------------------------------------------------------------------
  430.  
  431.     Function FUNCTION002() String
  432.  
  433.     String   STRING023
  434.     String   STRING024
  435.  
  436.     STRING023 = ""
  437.     While (INT011 < INT010) Do
  438.         Inc INT011
  439.         If (TSTRING012(INT011) <> "") Then
  440.             PROC007()
  441.             STRING023 = TSTRING012(INT011)
  442.             Break
  443.         Endif
  444.     EndWhile
  445.     FUNCTION002 = STRING023
  446.  
  447.     EndFunc
  448.  
  449.  
  450. ;------------------------------------------------------------------------------
  451.  
  452.     Procedure PROC007()
  453.  
  454.     Print Chr(27) + "[u" + Chr(27) + "[" + String(INT010 - INT011) + "A"
  455.     INT009 = INT011
  456.     STRING013 = ScrText(1, INT009, INT007, 1)
  457.     Print STRING011 + StripAtx(STRING013) + Chr(13)
  458.  
  459.     EndProc
  460.  
  461.  
  462. ;------------------------------------------------------------------------------
  463.  
  464.     Procedure PROC004()
  465.  
  466.     String   STRING024
  467.  
  468.     INT011 = 1
  469.     While (INT011 > 0) Do
  470.         ScrFile INT011, STRING024
  471.         If (INT011 <> 0) Then
  472.             TSTRING012(INT011) = STRING024
  473.             Inc INT011
  474.         Endif
  475.     EndWhile
  476.  
  477.     EndProc
  478.  
  479.  
  480. ;------------------------------------------------------------------------------
  481.  
  482.     Procedure PROC006(Int INT024, Int INT025, Int INT026)
  483.  
  484.     Print Chr(27) + "[u" + Chr(13)
  485.     If (INT024 == 1) Then
  486.         Forward TINT001(INT026) - 1
  487.         Print TSTRING002(INT026)
  488.     Else
  489.         Forward TINT004(INT026) - 1
  490.         Print TSTRING007(INT026)
  491.     Endif
  492.     Print Chr(13)
  493.     If (INT024 == 1) Then
  494.         Forward TINT001(INT025) - 1
  495.         Print TSTRING003(INT025)
  496.     Else
  497.         Forward TINT004(INT025) - 1
  498.         Print TSTRING008(INT025)
  499.     Endif
  500.  
  501.     EndProc
  502.  
  503.  
  504. ;------------------------------------------------------------------------------
  505.  
  506.     Procedure PROC003()
  507.  
  508.     Int      INT027
  509.  
  510.     DefColor
  511.     Print Chr(27) + "[u" + Chr(13)
  512.     ClrEol
  513.     Print Chr(13) + Chr(27) + "[s"
  514.     Print STRING006
  515.     TINT004(1) = GetX()
  516.     For INT027 = 1 To INT006
  517.         Print TSTRING007(INT027) + Space(INT005)
  518.         TINT004(1 + INT027) = TINT004(INT027) + Len(StripAtx(TSTRING007(INT027)))
  519.     Next
  520.     ClrEol
  521.     DefColor
  522.  
  523.     EndProc
  524.  
  525.  
  526. ;------------------------------------------------------------------------------
  527.  
  528.     Procedure PROC002()
  529.  
  530.     Int      INT028
  531.  
  532.     Print Chr(27) + "[s"
  533.     Print STRING001
  534.     TINT001(1) = GetX()
  535.     For INT028 = 1 To INT003
  536.         TINT001(INT028 + 1) = TINT001(INT028) + Len(StripAtx(TSTRING002(INT028)))
  537.         Print TSTRING002(INT028) + Space(INT002)
  538.     Next
  539.  
  540.     EndProc
  541.  
  542.  
  543. ;------------------------------------------------------------------------------
  544.  
  545.     Procedure PROC001()
  546.  
  547.     String   STRING025
  548.     String   STRING026
  549.     String   STRING027
  550.     String   STRING028
  551.     Byte     BYTE001
  552.  
  553.     GetUser
  554.     If (U_PageLen) Goto LABEL015
  555.     End
  556.     Goto LABEL016
  557.     :LABEL015
  558.     Redim TSTRING012, U_PageLen + 1
  559.     :LABEL016
  560.     STRING025 = PPEPath() + "EFLAG.CFG"
  561.     STRING026 = PPEPath() + "PROMPT1.CFG"
  562.     STRING027 = PPEPath() + "PROMPT2.CFG"
  563.     If (Exist(STRING025)) Then
  564.         STRING011 = ReadLine(STRING025, 1)
  565.         INT007 = S2I(ReadLine(STRING025, 2), 10)
  566.         If (Lower(ReadLine(STRING025, 3)) == "yes") Then
  567.             BOOLEAN001 = 1
  568.         Else
  569.             BOOLEAN001 = 0
  570.         Endif
  571.         If (Lower(ReadLine(STRING025, 4)) == "yes") Then
  572.             BOOLEAN002 = 1
  573.         Else
  574.             BOOLEAN002 = 0
  575.         Endif
  576.         INT008 = S2I(ReadLine(STRING025, 5), 10)
  577.     Else
  578.         STRING011 = "@X4F"
  579.         INT007 = 79
  580.         BOOLEAN001 = 1
  581.         BOOLEAN002 = 0
  582.         INT008 = 1
  583.     Endif
  584.     If (Exist(STRING026)) Then
  585.         FOpen 1, STRING026, 0, 2
  586.         FDefIn 1
  587.         FDGet STRING001
  588.         FDGet STRING028
  589.         INT002 = S2I(STRING028, 10)
  590.         FDGet STRING028
  591.         INT003 = S2I(STRING028, 10)
  592.         If (INT003) Then
  593.             Redim TSTRING002, INT003 + 1
  594.             Redim TSTRING003, INT003 + 1
  595.             Redim TSTRING004, INT003 + 1
  596.             Redim TSTRING005, INT003 + 1
  597.             Redim TINT001, INT003 + 1
  598.             For BYTE001 = 1 To INT003
  599.                 FDGet TSTRING002(BYTE001)
  600.                 FDGet TSTRING003(BYTE001)
  601.                 FDGet TSTRING004(BYTE001)
  602.                 FDGet TSTRING005(BYTE001)
  603.             Next
  604.             FClose 1
  605.         Else
  606.             End
  607.         Endif
  608.     Else
  609.         STRING001 = "@X08-[@X0FEFLAG 2.1@X08]-[@X0F@MINLEFT@ @X07min left@X08] @X07"
  610.         INT002 = 0
  611.         INT003 = 5
  612.         Redim TSTRING002, 6
  613.         Redim TSTRING003, 6
  614.         Redim TSTRING004, 6
  615.         Redim TSTRING005, 6
  616.         Redim TINT001, 6
  617.         TSTRING002(1) = "@X08 Cont @X07"
  618.         TSTRING003(1) = "@X4F CONT @X07"
  619.         TSTRING004(1) = "C"
  620.         TSTRING005(1) = "cont"
  621.         TSTRING002(2) = "@X08 Flag @X07"
  622.         TSTRING003(2) = "@X4F FLAG @X07"
  623.         TSTRING004(2) = "F"
  624.         TSTRING005(2) = "flag"
  625.         TSTRING002(3) = "@X08 View @X07"
  626.         TSTRING003(3) = "@X4F VIEW @X07"
  627.         TSTRING004(3) = "V"
  628.         TSTRING005(3) = "view"
  629.         TSTRING002(4) = "@X08 NStop @X07"
  630.         TSTRING003(4) = "@X4F NSTOP @X07"
  631.         TSTRING004(4) = "N"
  632.         TSTRING005(4) = "nstop"
  633.         TSTRING002(5) = "@X08 Stop @X07"
  634.         TSTRING003(5) = "@X4F STOP @X07"
  635.         TSTRING004(5) = "S"
  636.         TSTRING005(5) = "stop"
  637.     Endif
  638.     If (Exist(STRING027)) Then
  639.         FOpen 1, STRING027, 0, 2
  640.         FDefIn 1
  641.         FDGet STRING006
  642.         FDGet STRING028
  643.         INT005 = S2I(STRING028, 10)
  644.         FDGet STRING028
  645.         INT006 = S2I(STRING028, 10)
  646.         If (INT006) Then
  647.             Redim TSTRING007, INT006 + 1
  648.             Redim TSTRING008, INT006 + 1
  649.             Redim TSTRING009, INT006 + 1
  650.             Redim TSTRING010, INT006 + 1
  651.             Redim TINT004, INT006 + 1
  652.             For BYTE001 = 1 To INT006
  653.                 FDGet TSTRING007(BYTE001)
  654.                 FDGet TSTRING008(BYTE001)
  655.                 FDGet TSTRING009(BYTE001)
  656.                 FDGet TSTRING010(BYTE001)
  657.             Next
  658.             FClose 1
  659.         Else
  660.             End
  661.         Endif
  662.     Else
  663.         STRING006 = "@X08[@X0FFlag Cmds@X08] @X07"
  664.         INT005 = 0
  665.         INT006 = 3
  666.         Redim TSTRING007, 3
  667.         Redim TSTRING008, 3
  668.         Redim TSTRING009, 3
  669.         Redim TSTRING010, 3
  670.         Redim TINT004, 3
  671.         TSTRING007(1) = "@X08 Flag @X07"
  672.         TSTRING008(1) = "@X4F FLAG @X07"
  673.         TSTRING009(1) = "F"
  674.         TSTRING010(1) = "flag"
  675.         TSTRING007(2) = "@X08 View @X07"
  676.         TSTRING008(2) = "@X4F VIEW @X07"
  677.         TSTRING009(2) = "V"
  678.         TSTRING010(2) = "view"
  679.         TSTRING007(3) = "@X08 Quit @X07"
  680.         TSTRING008(3) = "@X4F QUIT @X07"
  681.         TSTRING009(3) = "Q"
  682.         TSTRING010(3) = "quit"
  683.     Endif
  684.     BOOLEAN003 = 0
  685.     RestScrn
  686.     ClrEol
  687.  
  688.     EndProc
  689.  
  690.  
  691. ;------------------------------------------------------------------------------
  692.  
  693.     Procedure PROC012()
  694.  
  695.     String   STRING029
  696.  
  697.     STRING029 = "@X0FEnhanced Flag v2.1 (UNREGISTERED) by Drew [PWA]@X07"
  698.     SaveScrn
  699.     Print Chr(27) + "[u"
  700.     ClrEol
  701.     Print Chr(13)
  702.     Print Space((79 - Len(StripAtx(STRING029))) / 2) + STRING029
  703.     Delay 35
  704.     RestScrn
  705.  
  706.     EndProc
  707.  
  708.  
  709. ;------------------------------------------------------------------------------
  710.  
  711.     Procedure PROC013()
  712.  
  713.     If (Exist(PPEPath() + "EFLAG.HLP")) Then
  714.         SaveScrn
  715.         DispFile PPEPath() + "EFLAG.HLP", 0
  716.         RestScrn
  717.         BOOLEAN003 = 1
  718.     Endif
  719.  
  720.     EndProc
  721.  
  722.  
  723. ;------------------------------------------------------------------------------
  724. ;
  725. ; Usage report (before postprocessing)
  726. ;
  727. ; ■ Statements used :
  728. ;
  729. ;    6       End
  730. ;    13      ClrEol
  731. ;    136     Goto 
  732. ;    144     Let 
  733. ;    31      Print 
  734. ;    83      If 
  735. ;    1       DispFile 
  736. ;    2       FOpen 
  737. ;    2       FClose 
  738. ;    2       StartDisp 
  739. ;    1       GetUser
  740. ;    2       DefColor
  741. ;    3       Delay 
  742. ;    6       Inc 
  743. ;    3       Dec 
  744. ;    10      KbdStuff 
  745. ;    2       DispStr 
  746. ;    4       Forward 
  747. ;    6       SaveScrn
  748. ;    4       RestScrn
  749. ;    2       FDefIn 
  750. ;    14      FDGet 
  751. ;    21      Redim 
  752. ;    1       ScrFile 
  753. ;    1       Brag
  754. ;    13      EndProc
  755. ;    2       EndFunc
  756. ;
  757. ;
  758. ; ■ Functions used :
  759. ;
  760. ;    1       /
  761. ;    67      +
  762. ;    8       -
  763. ;    59      ==
  764. ;    7       <>
  765. ;    7       <
  766. ;    4       <=
  767. ;    6       >
  768. ;    8       >=
  769. ;    84      !
  770. ;    15      &&
  771. ;    19      ||
  772. ;    3       Len(
  773. ;    8       Lower()
  774. ;    3       Space()
  775. ;    30      Chr()
  776. ;    3       Asc()
  777. ;    4       StripAtx()
  778. ;    2       Inkey()
  779. ;    3       String()
  780. ;    5       PPEPath()
  781. ;    5       ReadLine()
  782. ;    4       Exist()
  783. ;    6       S2I()
  784. ;    2       GetX()
  785. ;    2       GetY()
  786. ;    1       ScrText()
  787. ;
  788. ;------------------------------------------------------------------------------
  789. ;
  790. ; Analysis flags : No flag
  791. ;
  792. ;
  793. ;------------------------------------------------------------------------------
  794. ;
  795. ;     One or more PPLC bugs were found, this is not a PPLX error, but PPLX is  
  796. ;     reporting the error ;)  Some statements  like VAR = !!!!10, VAR = !0*!0  
  797. ;     or similar things are not handled  correctly by PPLC, some may use this  
  798. ;     to  avoid a  correct decompilation...  This doesn't mean that there  is  
  799. ;     actually an error, but the probability of error is high...               
  800. ;     ■ Search for : PPLC BUG
  801. ;
  802. ;------------------------------------------------------------------------------
  803. ;
  804. ; Postprocessing report
  805. ;
  806. ;    4       For/Next
  807. ;    3       While/EndWhile
  808. ;    31      If/Then or If/Then/Else
  809. ;    5       Select Case
  810. ;
  811. ;------------------------------------------------------------------------------
  812. ;                 AEGiS Corp - Break the routines, code against the machines!
  813. ;------------------------------------------------------------------------------
  814.